<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<!-- #BeginTemplate "../../openslp.dwt" -->

<!--
    
    Pristine 1.0
    
    Design copyright Matt Dibb 2006
    www.mdibb.net

    Please feel free to use and modify this template for use on your site.  I dont mind
    if you use it for your personal site or a commercial site, but I do insist that it is
    not sold or given away in some "50,000 Templates!" package or something like that.

-->

    <head profile="http://www.w3.org/2005/10/profile">
        <meta http-equiv="Content-Language" content="en-gb" />
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
        <link rel="stylesheet" type="text/css" href="../../site.css" />
        <link rel="stylesheet" type="text/css" href="../../print.css" media="print" />
        <link rel="alternate" type="application/rss+xml" title="OpenSLP&#8230;Recent Activity" href="http://www.sourceforge.net/export/rss2_keepsake.php?group_id=1730" />
        <link rel="alternate" type="application/rss+xml" title="OpenSLP&#8230;News" href="http://www.sourceforge.net/export/rss2_projnews.php?group_id=1730" />
        <link rel="alternate" type="application/rss+xml" title="OpenSLP&#8230;File Releases" href="http://www.sourceforge.net/api/file/index/project-id/1730/mtime/desc/limit/20/rss" />
        <link rel="alternate" type="application/rss+xml" title="OpenSLP&#8230;Reviews" href="http://www.sourceforge.net/projects/openslp/reviews_feed.rss" />
		<link rel="shortcut icon" href="../../images/openslp_favicon_256color_48px.ico" />
        <!-- #BeginEditable "Page%20Style%20and%20Scripts" -->
	    <!-- #EndEditable -->
        <!-- #BeginEditable "Page%20Title" -->
  <title>OpenSLP FAQ</title>
	    <!-- #EndEditable -->
    </head>
    <body>
        <div id="content">
            <div id="header">
            	<a href="http://openslp.org/">
				<img src="../../images/openslp_logo_web_color_150px.jpg" alt="" /></a>
            </div>
            <div id="body">
                <!-- #BeginEditable "Left%20Navigation%20-%20Context%20Specific" -->

                <!-- #EndEditable -->
                <div id="links">
                    <p><a href="../../index.html">About</a><br/>
                       what is openslp</p>
                    <p><a href="../../download.html">Download</a><br/>
                       how to get openslp</p>
                    <p><a href="../../contribute.html">Contribute</a><br/>
                       how to help out</p>
                    <p><a href="../../documentation.html">Documentation</a><br/>
                       how to find out more</p>
                    <p><a href="../../credits.html">Credits</a><br/>
                       who to blame</p>
                    <p><a href="http://sourceforge.net/projects/openslp"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=1730&amp;type=2" alt="Get OpenSLP at SourceForge.net. Fast, secure and Free Open Source software downloads"/></a></p>
                </div>

                <div id="main">
                <!-- #BeginEditable "Page%20Content" -->

<h2>OpenSLP - Frequently Asked Questions</h2>

<p>A really compresensive FAQ is not yet available for OpenSLP so please 
send your questions to the OpenSLP mailing lists:<br />
<br />
<tt>&nbsp;&nbsp;&nbsp; openslp-devel@lists.sourceforge.net<br />
&nbsp;&nbsp;&nbsp; openslp-users@lists.sourceforge.net</tt></p>

<div id="faq">

<p class="question"><b>Q:</b> Where is the configure script to build OpenSLP?</p>
<p class="answer"><b>A:</b> Did you read section 3 of the README? You need to run autogen.sh
to generate the configure script.</p>

<p class="question"><b>Q:</b> How do I build OpenSLP on Windows?</p>
<p class="answer"><b>A:</b> The MSVC project files used by the developers who ported OpenSLP 
to Win32 are available in the source directories. If you do not use MSVC 
and you are a Windows developer, then you will be used to trying to get MSVC 
makes to work with your tools. Projects and workspaces are available for 
both MSVC 6 and MSVC 7, however, the developers use MSVC 7 (Visual Studio 
.NET 2003), so compatibility with MSVC 6 is not maintained regularly.</p>

<p class="question"><b>Q:</b> Will OpenSLP work on my operating system?</p>
<p class="answer"><b>A:</b> Yes, the OpenSLP code has proven to be very portable. It currently 
works on many operating systems including: Linux, BSD, Solaris, Tru64, 
HPUX, UnixWare, OSR5, and Win32</p>

<p class="question"><b>Q:</b> I am having trouble discovering attributes using FindAttr() and 
&quot;slptool&nbsp;findattrs&quot;. The functions seem to execute properly, and the 
services URL's can be discovered, but no attributes are returned.&nbsp; I am 
registering services in slp.reg files. I don't think it is my syntax in the 
slp.reg file, because the example registrations in that file do not 
return attributes either. Can anyone help?</p>
<p class="answer"><b>A:</b> If you just want to use slptool to see if things are working, you 
need to do the following:</p>
<pre>
   Contents of the slp.reg:
   ------------------------
   service:myservice1.x://myhost.caldera.com,en,65535
   owner=Matt Peterson
   email=mpeterson@caldera.com

   service:myservice1.x://yourhost.yourdomain.com,en,65535
   owner=Kim Jackson
   email=bjackson@yourhost.yourdomain.com
</pre>
<p>IMPORTANT: Restart slpd and check the /var/log/slpd.log to 
ensure that there were no errors during parsing of the .reg file</p>
<p>Use slptool to find attributes to query the services registered:</p>
<pre>
   ------------------------------
   $ slptool findsrvs service:myservice1.x
   service:myservice1.x://myhost.caldera.com.com,65535
   service:myservice1.x://yourhost.yourdomain.com,65535
   
   $ slptool findattrs service:myservice1.x://myhost.mydomain.com
   (owner=Matt Peterson),(email=mpeterson@caldera.com)

   $ slptool findattrs service:myservice1.x://yourhost.caldera.com
   (owner=Kim Jackson),(email=bjackson@yourhost.yourdomain.com)
</pre>
<p>Note that you need to supply the service-url as returned by findsrvs.</p>

<p class="question"><b>Q:</b> I have a multi-homed machine and OpenSLP is not working.</p>
<p class="answer"><b>A:</b> Please read <a href="UsersGuide/Installation.html">the updated installation guide</a>.
There are special instructions for users of multi-homed machines.</p>

<p class="question"><b>Q:</b> In our development lab, the multicast SLP requests work just 
fine.&nbsp; However, in our SVT lab, the multicasts requests never work.&nbsp; 
We always have to edit the slp.conf file and turn on broadcast.&nbsp; 
Have any others seen this?&nbsp; Do you recall what the solution was?&nbsp;
We have spent a great deal of time trying to figure this one out without success.</p>
<p class="answer"><b>A:</b> Yes, others have seen this behavior -- I know I have.&nbsp; I 
should put this in the FAQ because I get a lot of questions.&nbsp; The following 
is a list of the most common problems along with trouble shooting and resolution 
info:</p>

<ul>
<li><h3>No multicast route</h3>
A very common problem with some OS installations (especially Linux) is
that there is no multicast or default route set up.&nbsp; On systems with BSD
derived TCP/IP stacks (nearly all OSes), broadcast and multicast traffic
are delivered using the unicast routing table.&nbsp; If the unicast routing
table does not have either a default route or an explicit multicast route,
then the kernel does not know where to send the SLP datagram and returns
an error 101 - network unreachable error which translates into a SLPError
-23 SLP_NETWORK_ERROR. A quick test is to try to ping SLP multicast:<br />
<br />
<tt>$ ping 239.255.255.253</tt><br />
<br />
If ping returns an error that the network was unreachable, 
you will need to set up a default route or a multicast route.<br />
<br />
Note you may not get any responses to the ping.&nbsp; This may 
not indicate a problem.&nbsp; The only thing to be concerned about is if 
there is an error actually sending the ping.<br />
<br />
Please read <a href="UsersGuide/Installation.html">the installation instructions</a>
for more information on how to install a multicast route.
<br /><br /></li>
<li><h3>The &quot;smart switch / stupid router&quot; problem</h3>
The smart switch / stupid router (or no router) problem is 
something that happens on switched ethernet networks only.&nbsp; If you do not 
have a switched ethernet network, then you do not have this problem.&nbsp; 
If you do have a switched ethernet network, then you may have this 
problem if you are using newer switching hardware.&nbsp; The reason is that 
ethernet switching hardware is smart enough to monitor IGMP traffic and 
only forward multicast ethernet frames to those ports that are 
connected to a host that has maintained the appropriate IGMP conversations 
with the router.<br />
<br />
At a very high level, IGMP works like this.&nbsp; First, the 
host joins the multicast group by sending the router an IGMP message.&nbsp; 
The router responds periodically with request to the host to see if the 
host is still interested in multicast traffic.&nbsp; Since IGMP 
conversations are handled transparently by the kernel level IP stack 
implementations, most developers and users do not even realize anything is happening.<br />
<br />
However, &quot;smart&quot; ethernet switches do realize something is 
happening!&nbsp; If they do not see the IGMP messages being sent from the router 
to a host that is plugged into a given port of the switch, then they will 
will not forward multicast ethernet frames to that port.&nbsp; This is 
good and bad.<br />
<br />
It is good because it makes multicast extremely efficient in terms of
physical network usage.&nbsp; However, it also makes it so multicast will not
work at all if a router does not exist (or does not support IGMP) to
maintain it's end of the IGMP conversation.<br />
<br />
Trouble Shooting:<br />
<br />
Monitor IGMP traffic!&nbsp; Make sure that periodic IGMP 
traffic is happening  on your network.&nbsp; IGMP traffic can be monitored on Linux 
(and many other OSes) with the following command:<br />
<br />
<tt># tcpdump igmp</tt><br />
<br />
Issue this command before starting slpd.&nbsp; You will 
notice that several IGMP &quot;report&quot; messages are sent.&nbsp; The important thing to 
look for a IGMP &quot;query&quot; message from the router.&nbsp; If you do not see the 
IGMP query message from the router then you will soon find that you will 
no longer see any &quot;report&quot; messages either.<br />
<br />
Another good test is to try to ping the multicast address and see where
it is visable:<br />
<br />
<tt>$ ping 239.255.255.253</tt><br />
<br />
Finally, the best advice is to read the normally untouched 
section of your ethernet switch manual that describes how the switch 
handles multicast.&nbsp; Stupid/inexpensive switches treat multicast 
frames exactly like broadcast frames which means that they are forwarded to 
every port of the switch.&nbsp; Smart/Expensive switches often allow this 
behavior to be configured.&nbsp; If you are on a network without a router, 
then it is possible that you might need to &quot;dumb down&quot; your switch.
<br /><br /></li>
<li><h3>Broken NIC driver</h3>
Some NICs do not support multicast operation, so the driver 
does the work by placing the NIC into permiscuous mode (accept 
everything) then the driver filters out what is not needed.&nbsp; The problem 
with this is that sometimes on a very busy ethernet, the NIC buffers may not 
be able to keep up with all the traffic and some frames will be 
dropped.&nbsp; This is normally not a problem since SLP is designed to work on 
unreliable physical networks, but if enough frames are dropped, OpenSLP 
may not be able to find DAs or other services.&nbsp; This would result 
in erratic behavior.
<br /><br /></li>

</ul>

</div>

                <!-- #EndEditable -->
                </div>
            </div>

            <div id="footer">
                Copyright &copy; 2011 <a href="http://www.openslp.org/">openslp.org</a>. All Rights Reserved.<br/>
                Design by <a href="http://www.mdibb.net" title="Website of Matt Dibb">Matt Dibb</a>
                2006. <a href="http://jigsaw.w3.org/css-validator/check/referer" title="Validate CSS">CSS</a> 
                <a href="http://validator.w3.org/check/referer" title="Validate XHTML">XHTML</a>
                <br/>Courtesy of <a href="http://www.openwebdesign.org">Open Web Design</a>
                &amp; <a href="http://seo-services.us">seo</a>
            </div>
        </div>
    </body>
<!-- #EndTemplate -->
</html>
